/*
* Copyright (C) 2012-2013, <Aeihu.z, aeihu.z@gmail.com>.
*
* Game Scenario Maker is a free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* Version 2(GPLv2) as published by the Free Software Foundation.
*/

////=============================================================================
//#include "CArea.h"
//#include "CParser.h"
//
////=============================================================================
//CArea CArea::AreaControl;
//
////=============================================================================
//CArea::CArea() {
//    //AreaSize = 0;
//}
//
////=============================================================================
//bool CArea::OnLoad(const char* File) {
//    OnCleanup();
//
//    FILE* FileHandle = fopen(File, "r");
//
//    if(FileHandle == NULL) {
//        return false;
//    }
//
//    {
//        char TilesetFile[255];
//
//        fscanf(FileHandle, "%s\n", TilesetFile);
//
//        if((Surf_Tilesets = CSurface::OnLoad(TilesetFile)) == false) 
//        {
//            fclose(FileHandle);
//            return false;
//        }        
//
//        //CSurface::Transparent(Surf_Tilesets,
//        //    CCommon::common.COLOR_KEY_RED, 
//        //    CCommon::common.COLOR_KEY_GREEN,
//        //    CCommon::common.COLOR_KEY_BLUE);
//    }
//
//    {
//        char MapFile[255];
//
//        fscanf(FileHandle, "%s\n", MapFile);
//
//        if(Map.OnLoad(MapFile) == false) 
//        {
//            fclose(FileHandle);
//            return false;
//        }
//
//        Map.Surf_Tilesets = Surf_Tilesets;
//    }
//
//           // MapList.push_back(tempMap);
//    {
//        char EntityFile[255];
//        fscanf(FileHandle, "%s\n", EntityFile);
//
//        if(CParser::parser.LoadScript(EntityFile, "map_init"))
//        {
//            fclose(FileHandle);
//            return false;
//        }
//    }
//
//    fclose(FileHandle);
//
//    return true;
//}
//
////-----------------------------------------------------------------------------
//void CArea::OnRender(SDL_Surface* Surf_Display, int CameraX, int CameraY) {
//    //int MapWidth  = MAP_WIDTH * TILE_SIZE;
//    //int MapHeight = MAP_HEIGHT * TILE_SIZE;
//
//    //int FirstID = -CameraX / MapWidth;
//    //    FirstID = FirstID + (-CameraY / MapHeight);
//        //FirstID = FirstID + ((-CameraY / MapHeight) * AreaSize);
//
//    //for(int i = 0;i < 4;i++) {
//    //    int ID = FirstID + ((i / 2) * AreaSize) + (i % 2);
//
//    //    if(ID < 0 || ID >= MapList.size()) continue;
//
//    //    int X = ((ID % AreaSize) * MapWidth) + CameraX;
//    //    int Y = ((ID / AreaSize) * MapHeight) + CameraY;
//
//        //MapList[ID].OnRender(Surf_Display, X, Y);
//        Map.OnRender(Surf_Display, CameraX,CameraY);
//    //}
//}
//
//void CArea::OnLoop() {
//    Map.OnLoop();
//}
////-----------------------------------------------------------------------------
//void CArea::OnCleanup() {
//    if(Surf_Tilesets) {
//        SDL_FreeSurface(Surf_Tilesets);
//    }
//    //MapList.clear();
//}
//
////=============================================================================
////CMap* CArea::GetMap(int X, int Y) {
////    int MapWidth  = MAP_WIDTH * TILE_SIZE;
////    int MapHeight = MAP_HEIGHT * TILE_SIZE;
////
////    int ID = X / MapWidth;
////        ID = ID + (Y / MapHeight);
////      //  ID = ID + ((Y / MapHeight) * AreaSize);
////
////    if(ID < 0 || ID >= MapList.size()) {
////        return NULL;
////    }
////
////    return &MapList[ID];
////}
//
////-----------------------------------------------------------------------------
//CTile* CArea::GetTile(int X, int Y) {
//    int MapWidth  = CCommon::common.MAP_WIDTH * CCommon::common.TILE_SIZE;
//    int MapHeight = CCommon::common.MAP_HEIGHT * CCommon::common.TILE_SIZE;
//
//    //CMap* Map = GetMap(X, Y);
//
//    //if(Map == NULL) return NULL;
//
//    X = X % MapWidth;
//    Y = Y % MapHeight;
//
//    return Map.GetTile(X, Y);
//}
//
////=============================================================================
